『Ground-Up Blockchain』Preface

2021-10-02

I once had a thought: if an ordinary programmer were willing to spend five years focused on studying and researching a particular technology framework, like Spring Boot, five years would be enough time to understand most of the details of this framework. After five years, with a deep enough understanding of Spring Boot, writing a book like “Spring Boot from Beginner to Expert” wouldn’t be a problem. What does writing a book bring? At the very least, it can increase some credibility. Is writing a book difficult? Look at the current Chinese technical books; aren’t they all just electronic waste? However, in reality, most programmers with more than five years of experience still can’t manage to “write a book.” Even if the book is poorly written, it’s better than nothing! So why does no one write?

How many books turn into technical manuals midway through? They become broad and unfocused, with both useful and useless information crammed in. Perhaps out of a sense of responsibility to the audience, the logic is: “The content I write may not be insightful, but at least it’s comprehensive!” This is similar to consumers thinking, “I may not use this feature, but it has to be there!”

I also want to create some electronic waste, like a collection of various boring technical blog posts. Now it’s the National Day holiday in 2021, and I have time to think about this.

Will the content of the book conflict with the Blog? If there’s something interesting and worth writing about, it should be prioritized on the Blog. This makes sense, but the Blog content is more about describing personal experiences, expressing attitudes and opinions, and often can’t focus, especially on low-quality technical content. Blog content often needs to be carefully worded; you might see only 100 words, but actually, 1000 words were thought out, considered for several days, then refined to remove inappropriate wording, clarify viewpoints, and leave concise but useful content.

The content of the book will be more casual, to save time and avoid repeated revisions. There needs to be a starting point for new things; you can’t wait until all materials are ready before beginning. If someday I have the ability to write a valuable book, I might not want to write it anymore.

The book title is borrowed from Ground-up Computer Science. I don’t have a better idea for now. The content will focus on Blockchain, which should be fine; this field is deep enough with plenty of content to write about. There’s no need to worry too much about opportunity costs since other fields don’t offer better choices.

In terms of language, I might use simple words directly. Often, when reading other materials, I come across a word that leaves an impression, so I use it directly without deliberately translating it in my mind. For example, the content of this book doesn’t have any magic, just a mix of ordinary technical stuff.

This project might take a while, around 1 to 2 years. I hope that by the end of 2023, I can be somewhat satisfied with the content of this book, archiving version 0.9. The missing 0.1 will be for corrections.

The content of the book will mainly focus on ideas. We’ve all heard the story “drawing a line for $10,000” – drawing the line is worth $1, knowing where to draw it is worth $9,999. The story may not be true, but its wide circulation suggests the logic makes sense. Writing the code is much less important than knowing why to write it, what problem it solves, and if there’s a better solution.

The table of contents may be chaotic, as I don’t intend to organize the content in a structured way. It’s difficult to categorize some things, and structured organization doesn’t necessarily yield good results. It may overlook ideas and details in the pursuit of comprehensiveness. There is no “most comprehensive” state in the world. The content can be thematic, chronological, or completely random.

By the same logic, it’s easy to imagine Ground-Up Golang, Ground-Up Programming, and the like. Talk is cheap; just do it first.

Preview: https://gub.smallyu.net